# Mappings from configurations to GDB target definitions.  This is
# invoked from the autoconf generated configure script.

# This file sets the following shell variables:
#  gdb_target_cpu	generic name of CPU
#  gdb_target		name of GDB target definition to use

# This file may also modify configdirs.

# Map target cpu into the config cpu subdirectory name.
# The default is $target_cpu.

case "${target_cpu}" in

alpha*)			gdb_target_cpu=alpha ;;
arm*)			gdb_target_cpu=arm ;;
avr*)			gdb_target_cpu=avr ;;
hppa*)			gdb_target_cpu=pa ;;
i[34567]86*)		gdb_target_cpu=i386 ;;
m68hc11*|m6811*)	gdb_target_cpu=m68hc11 ;;
m68*)			gdb_target_cpu=m68k ;;
m88*)			gdb_target_cpu=m88k ;;
mips*)			gdb_target_cpu=mips ;;
powerpc*)		gdb_target_cpu=powerpc ;;
sparc*)			gdb_target_cpu=sparc ;;
thumb*)			gdb_target_cpu=arm ;;
s390*)			gdb_target_cpu=s390 ;;
sh*)			gdb_target_cpu=sh ;;
strongarm*)		gdb_target_cpu=arm ;;
xscale*)		gdb_target_cpu=arm ;;
v850*)			gdb_target_cpu=v850 ;;
x86_64*)		gdb_target_cpu=i386 ;;
*)			gdb_target_cpu=$target_cpu ;;

esac

# map target info into gdb names.

case "${target}" in

x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
			gdb_target=fbsd64 ;;
*-*-freebsd* | *-*-kfreebsd*-gnu)
			gdb_target=fbsd	;;

alpha*-*-osf*)		gdb_target=alpha-osf1 ;;
alpha*-*-linux*)	gdb_target=alpha-linux ;;
alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
alpha*-*-openbsd*)	gdb_target=nbsd ;;
alpha*-*-*)		gdb_target=alpha ;;

arm*-wince-pe)		gdb_target=wince ;;
arm*-*-linux*)		gdb_target=linux
			build_gdbserver=yes
			;;
arm*-*-netbsd* | arm*-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
arm*-*-openbsd*)	gdb_target=nbsd ;;
arm-*-nto*)		gdb_target=nto ;;
arm*-*-* | thumb*-*-* | strongarm*-*-*)
			gdb_target=embed
                        configdirs="$configdirs rdi-share"
                        ;;
xscale-*-*)		gdb_target=embed
                        configdirs="$configdirs rdi-share"
                        ;;

avr-*-*)		gdb_target=avr ;;

cris*)                  gdb_target=cris ;;

d10v-*-*)		gdb_target=d10v ;;

h8300-*-*)		gdb_target=h8300 ;;


frv-*-*)		gdb_target=frv ;;

hppa*64*-*-hpux11*)	gdb_target=hppa64 ;;
hppa*-*-hpux*)		gdb_target=hppahpux ;;
hppa*-*-hiux*)		gdb_target=hppahpux ;;
hppa*-*-linux*)		gdb_target=linux ;;
hppa*-*-openbsd*)	gdb_target=obsd ;;
hppa*-*-*)		gdb_target=hppa ;;

i[34567]86-ncr-*)	gdb_target=ncr3000 ;;
i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
i[34567]86-*-openbsd*)	gdb_target=obsd ;;
i[34567]86-*-nto*)	gdb_target=nto ;;
i[34567]86-*-lynxos*)	gdb_target=i386lynx ;;
i[34567]86-*-solaris*)	gdb_target=i386sol2 ;;
i[34567]86-*-linux*)	gdb_target=linux
			build_gdbserver=yes
			;;
i[34567]86-*-gnu*)	gdb_target=i386gnu ;;
i[34567]86-*-netware*)	gdb_target=i386
			configdirs="${configdirs} nlm" ;;
i[34567]86-*-cygwin*)	gdb_target=cygwin  ;;
i[34567]86-*-vxworks*)	gdb_target=vxworks ;;
i[34567]86-*-*)		gdb_target=i386 ;;

ia64-*-aix*)		gdb_target=aix ;;
ia64-*-linux*)		gdb_target=linux
			build_gdbserver=yes
			;;
ia64*-*-*)		gdb_target=ia64 ;;

m32r*-*-linux*)		gdb_target=linux ;;
m32r*-*-*)		gdb_target=m32r ;;

m68hc11*-*-*|m6811*-*-*)	gdb_target=m68hc11 ;;

m68*-cisco*-*)		gdb_target=cisco ;;
m68*-netx-*)		gdb_target=vxworks68 ;;
m68*-tandem-*)		gdb_target=st2000 ;;
m68*-*-aout*)		gdb_target=monitor ;;
m68*-*-coff*)		gdb_target=monitor ;;
m68*-*-elf*)		gdb_target=monitor ;;
m68*-*-linux*)		gdb_target=linux
			build_gdbserver=yes
			;;
m68*-*-netbsd* | m68*-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
m68*-*-openbsd*)	gdb_target=obsd ;;
m68*-*-os68k*)		gdb_target=os68k ;;
m68*-*-uclinux*)	gdb_target=monitor ;;
m68*-*-vxworks*)	gdb_target=vxworks68 ;;

m88*-*-openbsd*)	gdb_target=obsd ;;

mcore*-*-*)		gdb_target=mcore ;;

mips*-*-pe)		gdb_target=wince ;;
mips*-sgi-irix5*)	gdb_target=irix5 ;;
mips*-sgi-irix6*)	gdb_target=irix6 ;;
mips*-*-linux*)		gdb_target=linux
			build_gdbserver=yes
			;;
mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
mips64*-*-openbsd*)	gdb_target=obsd64 ;;
mips*-*-vxworks*)       gdb_target=vxmips ;;
mips*-*-*)		gdb_target=embed ;;

mn10300-*-*)		gdb_target=mn10300 ;;

ns32k-*-netbsd*)	gdb_target=nbsdaout ;;

powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
powerpc-*-openbsd*)	gdb_target=obsd ;;
powerpc-*-aix*)		gdb_target=aix ;;
powerpc-*-linux*)	gdb_target=linux
			build_gdbserver=yes
			;;
powerpc64-*-linux*)	gdb_target=linux ;;
powerpc-*-vxworks*)	gdb_target=vxworks ;;
powerpc*-*-*)		if test -f ../sim/ppc/Makefile; then
			  gdb_target=ppc-sim
			else
			  gdb_target=ppc-eabi
			fi ;;

rs6000-*-lynxos*)	gdb_target=rs6000lynx ;;
rs6000-*-aix4*)		gdb_target=aix4 ;;
rs6000-*-*)		gdb_target=rs6000 ;;

s390*-*-*)		gdb_target=s390
			build_gdbserver=yes
			;;

sh*-*-pe)		gdb_target=wince ;;
sh-*-coff*)		gdb_target=embed ;;
sh-*-elf*)		gdb_target=embed ;;
# FIXME should that be sh*-*-linux*, perhaps?
sh-*-linux*)		gdb_target=linux
			build_gdbserver=yes
			;;
sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
sh-*-nto*)		gdb_target=nto ;;
sh*-*-openbsd*)		gdb_target=obsd ;;
sh*)			gdb_target=embed ;;

sparc-*-linux*)		gdb_target=linux ;;
sparc64-*-linux*)	gdb_target=linux64 ;;
sparc-*-netbsd* | sparc-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
sparc64-*-netbsd* | sparc64-*-knetbsd*-gnu)
			gdb_target=nbsd64 ;;
sparc-*-openbsd*)	gdb_target=obsd ;;
sparc64-*-openbsd*)	gdb_target=obsd64 ;;
sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
			gdb_target=sol2
			;;
sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
			gdb_target=sol2-64
			;;
sparc-*-vxworks*)	gdb_target=vxworks ;;
sparc-*-*)		gdb_target=sparc ;;
sparc64-*-*)		gdb_target=sparc64 ;;

xstormy16-*-*)          gdb_target=xstormy16 ;;

vax-*-netbsd* | vax-*-knetbsd*-gnu)
			gdb_target=nbsd ;;
vax-*-openbsd*)		gdb_target=nbsd ;;
vax-*-*)		gdb_target=vax ;;

v850*-*-*)		gdb_target=v850
			case ${gdb_host} in
			cygwin*)
				CONFIG_OBS="${CONFIG_OBS} v850ice.o" ;;
			* ) ;;
			esac
			;;

x86_64-*-linux*)	gdb_target=linux64
			build_gdbserver=yes
			;;
x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
			gdb_target=nbsd64 ;;
x86_64-*-openbsd*)	gdb_target=obsd64 ;;

esac

# map target onto default OS ABI

case "${target}" in
*-*-linux*)	gdb_osabi=GDB_OSABI_LINUX ;;
*-*-nto*)	gdb_osabi=GDB_OSABI_QNXNTO ;;
*-*-openbsd*)	gdb_osabi=GDB_OSABI_OPENBSD_ELF ;;
*-*-solaris*)	gdb_osabi=GDB_OSABI_SOLARIS ;;
*-*-*-gnu*)	;; # prevent non-GNU kernels to match the Hurd rule below
*-*-gnu*)	gdb_osabi=GDB_OSABI_HURD ;;
esac
